Documents often contain a number of errors, such as spelling errors which may reflect negatively on the writer of the document. For example, the recipient of a document containing errors may make the presumption that the writer lacks education, that the writer is lazy, that the writer prepared the document hastily or that the writer has other negative characteristics. Most writers want to avoid having these presumptions made about them and, thus, try to prepare their documents as accurately as possible.
Word processor program modules have been effective in helping users eliminate many errors in their documents. Most modem word processor program modules provide effective tools for proofing the composition of electronic documents. For example, spell checking program modules have a long history in word processing program modules.
Most spell checker program modules include a dictionary, or a list of words, to support spell checking operations. To spell check a document, the spell checker program module compares the words in the document with the words in the dictionary to determine if the words in the document correspond to, or match, words in the dictionary. If a word does not correspond to a word in the dictionary, then an indication is provided to the user that the word is not in the dictionary and, therefore, may be misspelled. In addition, many spell checker program modules provide other features, such as lists of suggestions to replace the misspelled word, indications of words that have been repeated and, indications of words that may need to be capitalized.
Algorithms for offering suggestions for a word not in the dictionary are particularly problematic. Although some spell checkers offer adequate suggestions lists, there are many misspelled words for which the obvious suggestions are not generated. For example, for the misspelled word "munkey", an obvious correct suggestion is "monkey". However, some spell checkers do not generate the suggestion of "monkey" for the misspelled word "munkey".
There is a need for an improved method and system for generating suggestions for misspelled words. There is a further need for an improved method and system for determining a best suggestion to replace a misspelled word. There is still a further need for an improved method and system for automatically replacing a misspelled word with a suggestion if it is highly likely that the suggestion is the word that the user desired in the document.